PHP Network Functions

    PHP allows you many network functions that will provide you access to access the internet feature into the PHP. These functions come with core PHP and no installation is required.

    PHP Network functions

    Below is the list of the PHP Network functions-

    1. checkdnsrr()

    this function will check for the DNS records for the corresponding host.

    Syntax

    checkdnsrr(host, type)

    2. closelog()

    This function will close the connection of system logger and this function will not take any parameter.

    Syntax

    closelog()

    Example-

    <?php
    function funct($text) {
    openlog("phperrors");
    syslog(LOG_ERR, $text);
    closelog();
    }
    ?>

    3. define_syslog_variables()

    This function was deprecated and removed in PHP 5.4 and allows you to Initialize the variables used in Syslog functions

    4. dns_check_record()

    This function is an alias of checkdnsrr() and will take two parameters- host and type, where type can be-

    • A
    • MX (default)
    • NS
    • SOA
    • PTR
    • CNAME
    • AAAA
    • A6
    • SRV
    • NAPTR
    • TXT
    • ANY

    Syntax

    dns_check_record(host, type)

    Example

    <?php
    $dom="XXX.com";
    if(dns_check_record($dom,"MX")) {
      echo "Passed";
    } else {
      echo "Failed";
    }
    ?>

    Output

    passed

    5. dns_get_mx()

    This function is an alias of getmxrr() and accepts three parameters- host, mxhosts and weight where the first two parameters are mandatory and the last one is optional.

    Syntax

    dns_get_mx(host, mxhosts, weight)

    Example

    <?php
    $dom="XXX.com";
    if(dns_get_mx($dom,$mx_data)){
      foreach($mx_data as $key=>$value){
        echo "$key => $value <br>";
      }
    }
    ?>

    Output 0 => XXX.com

    6. dns_get_record()

    This function will get you the DNS resource records which are associated with the provided hostname where the first parameter is mandatory else are optional.

    Syntax

    dns_get_record(hostname, type, authns, addtl, raw)

    Example

    <?php
    print_r(dns_get_record("XXX.com", DNS_MX));
    ?>

    Output

    Array ( [0] => Array ( [host] => XXX.com [class] => IN [ttl] => 1270 [type] => MX [pri] => 10 [target] => XXX.com ) )

    7. fsockopen()

    This function will open an Internet or Unix domain socket connection for the provided hostname. It will accept five parameters where the first parameter is mandatory and else parameters are optional.

    Syntax

    fsockopen(hostname, port, errno, errstr, timeout)

    Example

    <?php
    $f_op = fsockopen("www.XXX.com", 80, $errno, $errstr, 20);
    if (!$f_op) {
      echo "$errstr ($errno)<br>";
    } else {
      $out = "GET / HTTP/1.1\r\n";
      fwrite($f_op, $out);
      while (!feof($f_op)) {
        echo fgets($f_op, 128);
      }
      fclose($f_op);
    }
    ?>

    8. gethostbyaddr()

    This function will return the domain name for a provided IP address which is a mandatory parameter.

    Syntax -

    gethostbyaddr(ipaddress)

    Example

    <?php
    $host_detail = gethostbyaddr($_SERVER["REMOTE_ADDR"]);
    echo $host_detail;
    ?>

    9. gethostbyname()

    This function will provide the IPv4 address for a given domain/hostname

    Syntax

    gethostbyname(hostname)

    Example

    <?php
    $data = gethostbyname("www.XXX.com");
    echo $data;
    ?>

    Output

    141.0.173.173

    10. gethostbyname()

    This function will return the hostname of your local machine.

    Syntax

    gethostname()

    Example

    <?php
    $hostdata = gethostbyname("www.XXX.com");
    print_r($hostdata);
    ?>

    Output

    Array ( [0] => 141.0.173.173 )

    11. getmxrr()

    This function will return the MX records for the provided internet hostname.

    Syntax -

    getmxrr(host, mxhosts, weight)

    Example

    <?php
    $dom="XXX.com";
    if(getmxrr($dom,$mx_details)){
      foreach($mx_details as $key=>$value){
        echo "$key => $value <br>";
      }
    }
    ?>

    Output

    0 => XXX.com

    12. getprotobyname()

    This function will allow you to return the protocol number for a specified protocol name.

    Syntax

    getprotobyname(protocol name)

    Example

    <?php
    $protocol = getprotobyname("tcp");
    echo $protocol;
    ?>

    Output

    6

    13. getprotobynumber()

    This function will allow you to return the protocol name for a specified protocol number.

    Synta x-

    getprotobynumber(protocol number)

    Example

    <?php
    $pro_name = getprotobynumber(6);
    echo $pro_name;
    ?>

    Output

    tcp

    14. getservbyname()

    This function will return the port number for specified Internet service and protocol and both the parameters are mandatory for providing the output.

    Syntax-

    getservbyname(service, protocol)

    Example

    <?php
    $port_num = getservbyname("http", "tcp");
    echo $port_num;
    ?>

    Output

    80

    15. getservbyport()

    This function will return the Internet service for a specified port and protocol where both the parameters are required.

    Syntax

    getservbyport(port, protocol)

    Example

    <?php
    $ser_name = getservbyport(80, "tcp");
    echo $ser_name;
    ?>

    Output

    http

    16. header_register_callback()

    This function will allow you to call a header function.

    Syntax

    header_register_callback(callback)

    17. header_remove()

    This function will allow you to remove an HTTP header that is previously set with the header() function.

    Syntax

    header_remove(headername)

    Example

    <?php
    header("Pragma: no-cache");
    header_remove("Pragma");
    ?>

    18. header()

    This function will allow you to send a raw specified HTTP header to a client. This function will take three parameters where the first two are mandatory and the last parameter is optional.

    Syntax

    header(header, replace, http_response_code)

    Example

    <?php
    header("Pragma: no-cache");
    //header_remove("Pragma");
    ?>

    19. headers_list()

    This function will allow you to return a list of response headers which will be sent to the browser.

    Syntax

    headers_list()

    Example

    <?php
    header("X-Test: foo");
    header("Content-type: text/plain");
    ?>
    <html>
    <body>
    <?php
    var_dump(headers_list());
    ?>
    </body>
    </html>

    Output

    array(2)
    {
    [0]=> string(11) "X-Test: foo"
    [1]=> string(24) "Content-type: text/plain"
    }

    20. headers_sent()

    This function will allow you to check if/where headers have been sent.

    Syntax

    headers_sent(file,line)

    Example

    <?php
    if (!headers_sent()) {
      header("Location: https://www.XXX.com/");
      exit;
    }
    ?>

    21. http_response_code()

    This function will allow you to set or return the status code of the HTTP response.

    Syntax

    http_response_code(code)

    Example

    <?php
    http_response_code(404);
    ?>

    Output Page not found

    22. inet_ntop()

    This function will convert a 32bit IPv4 or 128bit IPv6 address into a readable format where the address which is provided is mandatory.

    Syntax

    inet_ntop(address)

    Example

    <?php
    $addr_data = chr(117) . chr(4) . chr(1) . chr(1);
    $exp = inet_ntop($addr_data);
    echo $exp;
    ?>

    Output

    117.4.1.1

    23. inet_pton()

    This function will allow you to convert a readable IP address into a packed 32bit IPv4 or 128bit IPv6 format which is the vice versa of the inet_ntop() function.

    Syntax

    inet_pton(address)

    Example

    <?php
    $addr = inet_pton("115.23.85.4");
    echo $addr;
    ?>

    Output s*U*

    24. ip2long()

    This function will convert a provided IPv4 address into a long integer.

    Syntax

    ip2long(address)

    Example

    <?php
    $addr = gethostbyname("www.XXX.com");
    $out = "https://www.XXX.com/, https://" . $addr . "/, and https://" . sprintf("%u", ip2long($addr)) . "/";
    echo $out;
    ?>

    Output

    https://www.XXX.com/, https://141.0.173.173/, and https://2365631917/

    25. long2ip()

    This function will allow you to convert a long integer address into a string in IPv4 format and this function is vice versa of the ip2long() function.

    Syntax

    long2ip(address)

    Example

    <?php
    echo(long2ip(2365631917));
    ?>

    Output

    141.0.173.173

    26. openlog()

    This function will open the connection of system logger. This function will have three parameters and all are mandatory.

    Syntax

    openlog(ident, option, facility)

    Example

    <?php
    function _log($text) {
    openlog("phperrors");
    syslog(LOG_ERR, $text);
    closelog();
    }
    ?>

    27. pfsockopen()

    This function will allow you to open a persistent Internet or Unix domain socket connection on the basis of the provided hostname. This function will have five parameters among which the first parameter is mandatory while others are optional.

    Syntax

    pfsockopen(hostname, port, errno, errstr, timeout)

    Example

    <?php
    $f_op = pfsockopen("www.XXX.com", 80, $errno, $errstr, 20);
    if (!$f_op) {
      echo "$errstr ($errno)<br>";
    } else {
      $out = "GET / HTTP/1.1\r\n";
      $out .= "Host: www.XXX.com\r\n";
      $out .= "Connection: Close\r\n\r\n";
      fwrite($f_op, $out);
      while (!feof($f_op)) {
        echo fgets($f_op, 128);
      }
      fclose($f_op);
    }
    ?>

    Output

    HTTP/1.1 302 Found Content-Type: text/html; charset=utf-8 Location: https://www.XXX.com/ Server: Caddy Date: Tue, 28 Jul 2020 13:38:53 GMT Content-Length: 43 Connection: close Found.

    28. setcookie()

    This function will allow you to define a cookie which needs to be sent along with the rest of the HTTP headers. This function has one mandatory parameter- a name which specifies the cookie name.

    Syntax

    setcookie(name, value, expire, path, domain, secure, httponly);

    Example

    <!DOCTYPE html>
    <?php
    $c_name = "user";
    $c_value = "Jacob";
    setcookie($c_name, $c_value, time() + (86400 * 30), "/"); 
    ?>
    <html>
    <body>
    <?php
    if(!isset($_COOKIE[$c_name])) {
        echo   $c_name . "' is not set!";
    } else {
        echo $c_name . "' is set!<br>";
        echo   $_COOKIE[$c_name];
    }
    ?>
    </body>
    </html>

    Output PHP Warning: Cannot modify header information - headers already sent by (output started at /workspace/Main.php:1) in /workspace/Main.php on line 5

    29. setrawcookie()

    This function will allow you to define a cookie that does not have URL encoding and will be sent along with the rest of the HTTP headers.

    Syntax

    setrawcookie(name, value, expire, path, domain, secure);

    Example

    <?php
    $cookie_name = "jacob";
    $cookie_value = "Hello";
    setrawcookie($cookie_name, $cookie_value);
    ?>
    <html>
    <body>
    <?php
    echo "Cookie is set.";
    ?>
    </body>
    </html>
    ?>

    Output Cookie is set.

    30. socket_get_status()

    This function works as an alias of stream_get_meta_data() function.

    31. socket_set_blocking()

    This function will work as an alias of stream_set_blocking() function.

    32. socket_set_timeout()

    This function will work as an alias of stream_set_timeout() function.

    33. syslog()

    This function will allow you to generate a system log message.

    Example

    <?php
    function func($text) {
    openlog("phperrors");
    syslog(LOG_ERR, $text);
    closelog();
    }
    ?>

    People are also reading: